home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / OCEMessaging.idl < prev    next >
Text File  |  1996-05-01  |  9KB  |  262 lines

  1. /*
  2.      File:        OCEMessaging.idl
  3.  
  4.      Contains:    Apple Open Collaboration Environment Messaging Interfaces.
  5.  
  6.      Version:    Technology:    AOCE Toolbox 1.02
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __OCEMESSAGING_IDL__
  19. #define __OCEMESSAGING_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __FILES_IDL__
  25. #include <Files.idl>
  26. #endif
  27. #ifndef __TYPES_IDL__
  28. #include <Types.idl>
  29. #endif
  30. #ifndef __DIGITALSIGNATURE_IDL__
  31. #include <DigitalSignature.idl>
  32. #endif
  33. #ifndef __OCE_IDL__
  34. #include <OCE.idl>
  35. #endif
  36. #ifndef __OCEAUTHDIR_IDL__
  37. #include <OCEAuthDir.idl>
  38. #endif
  39.  
  40. #ifdef __SOMIDL__
  41.  
  42. #if FOR_SYSTEM7_ONLY
  43. /******************************************************************************/
  44. /*
  45.  Definitions common to OCEMessaging and to OCEMail. These relate to addressing,
  46. message ids and priorities, etc. 
  47. */
  48. /* Values of IPMPriority */
  49. typedef Byte                    IPMPriority;
  50.  
  51. /* Values of IPMAccessMode */
  52. typedef unsigned short            IPMAccessMode;
  53.  
  54. /* Values of IPMNotificationType */
  55. typedef Byte                    IPMNotificationType;
  56.  
  57. /* Values of IPMSenderTag */
  58. typedef unsigned short            IPMSenderTag;
  59.  
  60. /* Values of OCERecipientOffsetFlags */
  61. typedef Byte                    OCERecipientOffsetFlags;
  62.  
  63. typedef SOMLargeStruct            OCECreatorType;                /* Derived from a struct of 8 bytes in size */
  64.  
  65. /* Values of IPMMsgFormat */
  66. typedef unsigned short            IPMMsgFormat;
  67.  
  68. typedef Str32                    IPMStringMsgType;
  69.  
  70. typedef SOMLargeStruct            TheType;                    /* Derived from a struct of 41 bytes in size */
  71.  
  72. typedef SOMLargeStruct            IPMMsgType;                    /* Derived from a struct of 36 bytes in size */
  73.  
  74. /*
  75. Following are the known extension values for IPM addresses handled by Apple.
  76. We define the definition of the entn extension below.
  77. */
  78. /*
  79. Following are the specific definitions for the extension for the standard
  80. OCEMail 'entn' addresses.  [Note, the actual extension is formatted as in
  81. IPMEntityNameExtension.]
  82. */
  83. /* entn extension forms */
  84. /*
  85. Following are the specific definitions for standard
  86. OCEMail 'aphn' extension value.  
  87.  
  88. All RStrings here are packed (e.g. truncated to length) and even padded (e.g.
  89. if length odd, then a pad byte (zero) should be introduced before the next field).
  90.  
  91. The extension value is in the packed form of the following structure:
  92.     RString        phoneNumber;
  93.     RString        modemType;
  94.     Str32        queueuName;
  95.  
  96. The body of phoneNumber compound RString is in the packed form of the following structure:
  97.     short         subType;
  98.     RString     countryCode;                // used when subType == kOCEUseHandyDial
  99.     RString        areaCode;                    // used when subType == kOCEUseHandyDial
  100.     RString        phone;                        // used when subType == kOCEUseHandyDial
  101.     RString        postFix;                    // used when subType == kOCEUseHandyDial
  102.     RString        nonHandyDialString;            // used when subType == kOCEDontUseHandyDial
  103. */
  104. /* phoneNumber sub type constants */
  105. /* FORMAT OF A PACKED FORM RECIPIENT */
  106. typedef SOMTwoByteStruct        ProtoOCEPackedRecipient;    /* Derived from a struct of 2 bytes in size */
  107.  
  108. typedef SOMLargeStruct            OCEPackedRecipient;            /* Derived from a struct of 4096 bytes in size */
  109.  
  110. typedef SOMLargeStruct            IPMEntnQueueExtension;        /* Derived from a struct of 33 bytes in size */
  111.  
  112. /* kOCEAttrXtn */
  113. typedef SOMLargeStruct            IPMEntnAttributeExtension;    /* Derived from a struct of 36 bytes in size */
  114.  
  115. /* kOCESpAtXtn */
  116. typedef SOMLargeStruct            IPMEntnSpecificAttributeExtension; /* Derived from a struct of 44 bytes in size */
  117.  
  118. /* All IPM entn extensions fit within the following */
  119. typedef SOMLargeStruct            IPMEntityNameExtension;        /* Derived from a struct of 118 bytes in size */
  120.  
  121. /* addresses with kIPMNBPXtn should specify this nbp type */
  122. typedef SOMLargeStruct            IPMMsgID;                    /* Derived from a struct of 16 bytes in size */
  123.  
  124. /* Values of IPMHeaderSelector */
  125. typedef Byte                    IPMHeaderSelector;
  126.  
  127. typedef SOMLargeStruct            TheSender;                    /* Derived from a struct of 2086 bytes in size */
  128.  
  129. typedef SOMLargeStruct            IPMSender;                    /* Derived from a struct of 1828 bytes in size */
  130.  
  131. /******************************************************************************/
  132. /* Definitions specific to OCEMessaging */
  133. typedef unsigned long            IPMContextRef;
  134.  
  135. typedef unsigned long            IPMQueueRef;
  136.  
  137. typedef unsigned long            IPMMsgRef;
  138.  
  139. typedef unsigned long            IPMSeqNum;
  140.  
  141. typedef Str32                    IPMProcHint;
  142.  
  143. typedef Str32                    IPMQueueName;
  144.  
  145. typedef OpaquePtr IPMNoteProcPtr;
  146. typedef OpaquePtr IPMNoteUPP;
  147. typedef SOMLargeStruct            IPMFixedHdrInfo;            /* Derived from a struct of 44 bytes in size */
  148.  
  149. /* standard Non delivery codes */
  150. /*************************************************************************/
  151. /*
  152. This is the structure that will be returned by enumerate and getmsginfo
  153. This definition is just to give you a template, the position of msgType
  154. is variable since this is a packed structure.  procHint and msgType are
  155. packed and even length padded.
  156.  
  157. * master message info 
  158. */
  159. typedef SOMLargeStruct            IPMMsgInfo;                    /* Derived from a struct of 114 bytes in size */
  160.  
  161. typedef OCECreatorType            IPMBlockType;
  162.  
  163. typedef SOMLargeStruct            IPMTOC;                        /* Derived from a struct of 20 bytes in size */
  164.  
  165. /*
  166. The following structure is just to describe the layout of the SingleFilter.
  167. Each field should be packed and word aligned when passed to the IPM ToolBox.
  168. */
  169. typedef SOMLargeStruct            IPMSingleFilter;            /* Derived from a struct of 78 bytes in size */
  170.  
  171. typedef SOMLargeStruct            IPMFilter;                    /* Derived from a struct of 80 bytes in size */
  172.  
  173. /*
  174. ************************************************************************
  175. Following structures define the ``start'' of a recipient report block and the
  176. elements of the array respectively.
  177. */
  178. typedef SOMLargeStruct            IPMReportBlockHeader;        /* Derived from a struct of 20 bytes in size */
  179.  
  180. typedef SOMFourByteStruct        OCERecipientReport;            /* Derived from a struct of 4 bytes in size */
  181.  
  182. /*************************************************************************/
  183.  
  184.  
  185. typedef OpaquePtr                IPMParamBlockPtr;            /* Substituted OpaquePtr for ``IPMParamBlock*'' */
  186.  
  187. typedef OpaquePtr IPMIOCompletionProcPtr;
  188. typedef OpaquePtr IPMIOCompletionUPP;
  189. typedef SOMLargeStruct            IPMOpenContextPB;            /* Derived from a struct of 28 bytes in size */
  190.  
  191. typedef IPMOpenContextPB        IPMCloseContextPB;
  192.  
  193. typedef SOMLargeStruct            IPMCreateQueuePB;            /* Derived from a struct of 40 bytes in size */
  194.  
  195. /* For createqueue and deletequeue only queue and identity are used */
  196. typedef IPMCreateQueuePB        IPMDeleteQueuePB;
  197.  
  198. typedef SOMLargeStruct            IPMOpenQueuePB;                /* Derived from a struct of 62 bytes in size */
  199.  
  200. typedef SOMLargeStruct            IPMCloseQueuePB;            /* Derived from a struct of 28 bytes in size */
  201.  
  202. typedef SOMLargeStruct            IPMEnumerateQueuePB;        /* Derived from a struct of 56 bytes in size */
  203.  
  204. typedef IPMEnumerateQueuePB        IPMChangeQueueFilterPB;
  205.  
  206. typedef SOMLargeStruct            IPMDeleteMsgRangePB;        /* Derived from a struct of 40 bytes in size */
  207.  
  208. typedef SOMLargeStruct            IPMOpenMsgPB;                /* Derived from a struct of 46 bytes in size */
  209.  
  210. typedef SOMLargeStruct            IPMOpenHFSMsgPB;            /* Derived from a struct of 46 bytes in size */
  211.  
  212. typedef SOMLargeStruct            IPMOpenBlockAsMsgPB;        /* Derived from a struct of 52 bytes in size */
  213.  
  214. typedef SOMLargeStruct            IPMCloseMsgPB;                /* Derived from a struct of 30 bytes in size */
  215.  
  216. typedef SOMLargeStruct            IPMGetMsgInfoPB;            /* Derived from a struct of 32 bytes in size */
  217.  
  218. typedef SOMLargeStruct            IPMReadHeaderPB;            /* Derived from a struct of 52 bytes in size */
  219.  
  220. typedef SOMLargeStruct            IPMReadRecipientPB;            /* Derived from a struct of 56 bytes in size */
  221.  
  222. /*
  223. replyQueue works like recipient. [can no longer read it via ReadHeader]
  224. OriginalIndex is meaningless, rcptFlags are used seperately and there are
  225. currently none defined.
  226. */
  227. typedef IPMReadRecipientPB        IPMReadReplyQueuePB;
  228.  
  229. typedef SOMLargeStruct            IPMGetBlkIndexPB;            /* Derived from a struct of 50 bytes in size */
  230.  
  231. typedef SOMLargeStruct            IPMReadMsgPB;                /* Derived from a struct of 52 bytes in size */
  232.  
  233. typedef SOMLargeStruct            IPMVerifySignaturePB;        /* Derived from a struct of 32 bytes in size */
  234.  
  235. typedef SOMLargeStruct            IPMNewMsgPB;                /* Derived from a struct of 76 bytes in size */
  236.  
  237. typedef SOMLargeStruct            IPMNewHFSMsgPB;                /* Derived from a struct of 76 bytes in size */
  238.  
  239. typedef SOMLargeStruct            IPMNestMsgPB;                /* Derived from a struct of 60 bytes in size */
  240.  
  241. typedef SOMLargeStruct            IPMNewNestedMsgBlockPB;        /* Derived from a struct of 76 bytes in size */
  242.  
  243. typedef SOMLargeStruct            IPMEndMsgPB;                /* Derived from a struct of 72 bytes in size */
  244.  
  245. typedef SOMLargeStruct            IPMAddRecipientPB;            /* Derived from a struct of 36 bytes in size */
  246.  
  247. typedef SOMLargeStruct            IPMAddReplyQueuePB;            /* Derived from a struct of 36 bytes in size */
  248.  
  249. typedef SOMLargeStruct            IPMNewBlockPB;                /* Derived from a struct of 60 bytes in size */
  250.  
  251. typedef SOMLargeStruct            IPMWriteMsgPB;                /* Derived from a struct of 48 bytes in size */
  252.  
  253. typedef SOMLargeStruct            IPMParamBlock;                /* Derived from a struct of 1446 bytes in size */
  254.  
  255. /* Always synchronous */
  256. #endif
  257.  
  258. #endif /* __SOMIDL__ */
  259.  
  260. #endif /* __OCEMESSAGING_IDL__ */
  261.  
  262.